package org.shopen.puremvc
{
	public class ApplicationConstants
	{
		public static const NAME : String = "ApplicationConstants";
		public static const DELIM : String = ".";
		
		// NOTIFICATIONS
		
		public static const STARTUP : String			= NAME + DELIM + "STARTUP";
		
		public static const TOGGLE_FULLSCREEN : String 	= NAME + DELIM + "TOGGLE_FULLSCREEN";	  
		
			// popups
		public static const GENERAL_ERROR : String 	= NAME + DELIM + "GENERAL_ERROR";		
		public static const SHOW_ERROR : String 	= NAME + DELIM + "SHOW_ERROR";
		
		public static const ABOUT_REQUEST : String 	= NAME + DELIM + "ABOUT_REQUEST";
		public static const SHOW_ABOUT : String 	= NAME + DELIM + "SHOW_ABOUT";
		
		public static const HELP_REQUEST : String 	= NAME + DELIM + "HELP_REQUEST";
		public static const SHOW_HELP : String 		= NAME + DELIM + "SHOW_HELP";
		
			// drawing
		public static const SHOW_TOOLBOX : String 		= NAME + DELIM + "SHOW_TOOLBOX";
		public static const TOOLBOX_SHOWN : String 		= NAME + DELIM + "TOOLBOX_SHOWN";
		public static const HIDE_TOOLBOX : String 		= NAME + DELIM + "HIDE_TOOLBOX";
		public static const TOOLBOX_HIDDEN : String 	= NAME + DELIM + "TOOLBOX_HIDDEN";
		public static const POSITION_TOOLBOX : String 	= NAME + DELIM + "POSITION_TOOLBOX";
		
		public static const TOOL_SELECTED : String		= NAME + DELIM + "TOOL_SELECTED";
		public static const TOOL_DESELECTED : String	= NAME + DELIM + "TOOL_DESELECTED";
		
		public static const MOUSE_POSITION_CHANGED : String		= NAME + DELIM + "MOUSE_POSITION_CHANGED";
		public static const CANVAS_ZOOM_CHANGED : String		= NAME + DELIM + "CANVAS_ZOOM_CHANGED";
		public static const SHAPE_RECT_CHANGED : String			= NAME + DELIM + "SHAPE_RECT_CHANGED";
		
		
			// create-open-save
		public static const CREATING_REQUEST : String 			= NAME + DELIM + "CREATING_REQUEST";
		public static const SHOW_CREATING_WINDOW : String		= NAME + DELIM + "SHOW_CREATING_WINDOW";
		public static const HIDE_CREATING_WINDOW : String		= NAME + DELIM + "HIDE_CREATING_WINDOW";
		public static const CANCEL_CREATING_REQUEST : String	= NAME + DELIM + "CANCEL_CREATING_REQUEST";
		public static const CREATE : String						= NAME + DELIM + "CREATE";
				
		public static const OPENING_REQUEST : String 		= NAME + DELIM + "OPENING_REQUEST";
		public static const SHOW_OPENING_WINDOW : String	= NAME + DELIM + "SHOW_OPENING_WINDOW";
		public static const HIDE_OPENING_WINDOW : String	= NAME + DELIM + "HIDE_OPENING_WINDOW";
		
		public static const SAVING_REQUEST : String 		= NAME + DELIM + "SAVING_REQUEST";
		public static const SHOW_SAVING_WINDOW : String		= NAME + DELIM + "SHOW_SAVING_WINDOW";
		public static const HIDE_SAVING_WINDOW : String		= NAME + DELIM + "HIDE_SAVING_WINDOW";
		public static const SHOW_SAVING_PROMPT : String		= NAME + DELIM + "SHOW_SAVING_PROMPT";
		public static const HIDE_SAVING_PROMPT : String		= NAME + DELIM + "HIDE_SAVING_PROMPT";
		public static const SAVE : String					= NAME + DELIM + "SAVE";
		public static const CANCEL_SAVING_REQUEST : String	= NAME + DELIM + "CANCEL_SAVING_REQUEST";
		
		
		// FSM STATES
		
			// CLOSED project
		public static const STATE_WELCOMING_CLOSED : String 		= NAME + DELIM + "STATE_WELCOMING_CLOSED";
		public static const STATE_OPENING_CLOSED : String 			= NAME + DELIM + "STATE_OPENING_CLOSED";
		public static const STATE_CREATING_CLOSED : String 			= NAME + DELIM + "STATE_CREATING_CLOSED";
		
			// NEW project
		public static const STATE_EDITING_NEW : String 				= NAME + DELIM + "STATE_EDITING_NEW";
		public static const STATE_SAVING_NEW : String 				= NAME + DELIM + "STATE_SAVING_NEW";
		public static const STATE_CREATING_NEW : String 			= NAME + DELIM + "STATE_CREATING_NEW";
		public static const STATE_OPENING_NEW : String 				= NAME + DELIM + "STATE_OPENING_NEW";
			
			// SAVED project
		public static const STATE_EDITING_SAVED : String 			= NAME + DELIM + "STATE_EDITING_SAVED";
		public static const STATE_OPENING_SAVED : String 			= NAME + DELIM + "STATE_OPENING_SAVED";
		public static const STATE_CREATING_SAVED : String 			= NAME + DELIM + "STATE_CREATING_SAVED";
		
			// CHANGED project
		public static const STATE_EDITING_CHANGED : String 			= NAME + DELIM + "STATE_EDITING_CHANGED";
		public static const STATE_SAVING_CLOSING_CHANGED : String 	= NAME + DELIM + "STATE_SAVING_CLOSING_CHANGED";
		public static const STATE_SAVING_CREATING_CHANGED : String 	= NAME + DELIM + "STATE_SAVING_CREATING_CHANGED";
		public static const STATE_SAVING_OPENING_CHANGED : String 	= NAME + DELIM + "STATE_SAVING_OPENING_CHANGED";
		public static const STATE_SAVING_CHANGED : String 			= NAME + DELIM + "STATE_SAVING_CHANGED";
				
		// FSM ACTIONS
		
		public static const ACTION_REQUEST_CREATING : String 	= NAME + DELIM + "ACTION_REQUEST_CREATING";
		public static const ACTION_REQUEST_OPENING : String 	= NAME + DELIM + "ACTION_REQUEST_OPENING";
		public static const ACTION_REQUEST_SAVING : String 		= NAME + DELIM + "ACTION_REQUEST_SAVING";
		public static const ACTION_REQUEST_CLOSING : String 	= NAME + DELIM + "ACTION_REQUEST_CLOSING";
		public static const ACTION_CREATE : String 				= NAME + DELIM + "ACTION_CREATE";
		public static const ACTION_SAVE : String 				= NAME + DELIM + "ACTION_SAVE";
		public static const ACTION_DONT_SAVE : String 			= NAME + DELIM + "ACTION_DONT_SAVE";
		public static const ACTION_OPEN : String 				= NAME + DELIM + "ACTION_OPEN";
		public static const ACTION_CHANGE : String 				= NAME + DELIM + "ACTION_CHANGE";		
		public static const ACTION_CANCEL : String 				= NAME + DELIM + "ACTION_CANCEL"
		
		// FSM-changed state specific notifications
		
			// CLOSED project
		public static const CHS_WELCOMING_CLOSED : String 			= NAME + DELIM + "CHS_WELCOMING_CLOSED";
		public static const CHS_OPENING_CLOSED : String 			= NAME + DELIM + "CHS_OPENING_CLOSED";
		public static const CHS_CREATING_CLOSED : String 			= NAME + DELIM + "CHS_CREATING_CLOSED";
		
			// NEW project
		public static const CHS_EDITING_NEW : String 				= NAME + DELIM + "CHS_EDITING_NEW";
		public static const CHS_SAVING_NEW : String 				= NAME + DELIM + "CHS_SAVING_NEW";
		public static const CHS_CREATING_NEW : String 				= NAME + DELIM + "CHS_CREATING_NEW";
		public static const CHS_OPENING_NEW : String 				= NAME + DELIM + "CHS_OPENING_NEW";
			
			// SAVED project
		public static const CHS_EDITING_SAVED : String 				= NAME + DELIM + "CHS_EDITING_SAVED";
		public static const CHS_OPENING_SAVED : String 				= NAME + DELIM + "CHS_OPENING_SAVED";
		public static const CHS_CREATING_SAVED : String 			= NAME + DELIM + "CHS_CREATING_SAVED";
		
			// CHANGED project
		public static const CHS_EDITING_CHANGED : String 			= NAME + DELIM + "CHS_EDITING_CHANGED";
		public static const CHS_SAVING_CLOSING_CHANGED : String 	= NAME + DELIM + "CHS_SAVING_CLOSING_CHANGED";
		public static const CHS_SAVING_CREATING_CHANGED : String 	= NAME + DELIM + "CHS_SAVING_CREATING_CHANGED";
		public static const CHS_SAVING_OPENING_CHANGED : String 	= NAME + DELIM + "CHS_SAVING_OPENING_CHANGED";
		public static const CHS_SAVING_CHANGED : String 			= NAME + DELIM + "CHS_SAVING_CHANGED";
	}
}